<table class="table table-striped goods_list_table   table-bordered">
  <thead>
    <tr>
     <th class="">选择</th>
     <th class="">会员名</th>
     <th class="">会员昵称</th>
     <th class="">是否VIP</th>
   </tr>
 </thead>
 <tbody id="tbodylist">
  <volist name="_datalist['lists']" id="g">
    <tr>
      <td><input  type="checkbox" class="checkboxs"  field='"sysid":"","userid":"{$g.userid}","user_name":"{$g.user_name}"'  style="opacity: 1;" value="{$g.userid}"  /></td>
      <td >{$g['user_name']}</td>
      <td>{$g['nickname']}</td>
      <td>{$g['is_vip'] == 1?'是':'否'}</td>
    </tr>
  </volist>

  <empty name="_datalist['lists']">
    <tr>
      <td style="padding:30px;text-align:center;" colspan="10">
       该包的人数已满，不能再添加发起人！
     </td>
   </tr>
 </empty>

</tbody>
</table>

<div class="page_list_ops dataTables_paginate paging_bootstrap pagination">
  {$_datalist['page_html']}
</div>


<script type="text/javascript" src="__PUBLIC__/Admin/js/json2.js"></script>
<script type="text/javascript"> 
//定义cookiename
var cookiename= packageid+"_<?php echo UID; ?>";
var num = "{$num}";
/*var sqllist = '{$sqllist}';*/
var arr =[],temp =[];
$(function(){ 
 debugger
 $('input[type="checkbox"]').bind("click",setgoodincookie);
   listinit();//初始化页面 
   if(num<0){
     art.dialog({title:'温馨提示',content: '该包已经满员呢,已近超出了'+Math.abs(num)+'个包，请正确选择 ！', ok: function () {this.close();return false;},okval:'确定'});
     return;
   }


 }); 


 //初始化页面设置存在选中的商品信息
 function listinit(){
   debugger;
   var _list=getCookie(cookiename);
   if(_list==""){return;}
   var ojson=JSON.parse(_list);
   
   $('input[type="checkbox"]').each(function(){
    var tmp= $(this).val();
    var _isflg=isExist(ojson,tmp);
    if(_isflg){
      $(this).prop("checked",_isflg);
      num--;
    }
  }); 
 }
 
 
 //判断json数据中是否存在商品编号id
 function isExist(ary,val){
  var flg=false;
  if(ary==null || ary.length==0)return flg;
  for(var i=0;i<ary.length;i++){
    if(ary[i]['userid']==val){
      flg=true;
      break;
    }
  }
  return flg;
}


 //勾选时执行数据的清理以及写入
 function setgoodincookie()
 {
   debugger
   var flg= $(this).is(":checked");
   if(flg){
    if(num<=0){
     $(this).attr("checked", false);
     art.dialog({title:'温馨提示',content: '该包已经满员呢，不能再添加了！', ok: function () {this.close();return false;},okval:'确定'});
     return;
   }
   num--;
 }else{
  num++;
}
var _json=[],ojson=[],json=[];   
var _tmv="{"+$(this).attr("field")+"}";
var _json=JSON.parse(_tmv); 
if(!_json)return;

  //获取cookie值
  var _list=getCookie(cookiename);
  if(_list!=""){
    ojson=JSON.parse(_list);
  } 
  
  //从cookie中获取的值哪些需要删除，哪些需要更新 
  for(var i=0;i<ojson.length;i++){ 
    //相等处理
    if(ojson[i]['userid']==_json['userid']){ 
       if(flg){json.push(_json);}  //勾选，就更新这个记录
     }  
     else{
      json.push(ojson[i]);  //不相等添加

    }
  } 
  
  var bl=isExist(ojson,_json['userid']);
  //如果是勾选并且是不存在cookie记录新时，增加
  if(!bl && flg){json.push(_json);}
  
  //考虑重复记录的清理。 
  
  setCookie(cookiename,"",-10);

  if(json.length>0){
    var _db=JSON.stringify(json);
    setCookie(cookiename,_db,1);

  } 

}  

//写入cookie
function setCookie(c_name, value, expiredays){
  　　　var exdate=new Date();
  　　　exdate.setDate(exdate.getDate() + expiredays);
  　　　document.cookie=c_name+ "=" + escape(value) +";path=/;domain="+document.domain+";"+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
//读取cookie   
function getCookie(c_name){
  　　　　if (document.cookie.length>0){　　//先查询cookie是否为空，为空就return ""
  　　　　　　c_start=document.cookie.indexOf(c_name + "=")　　//通过String对象的indexOf()来检查这个cookie是否存在，不存在就为 -1　　
　　　　　　if (c_start!=-1){ 
  　　　　　　　　c_start=c_start + c_name.length+1　　//最后这个+1其实就是表示"="号啦，这样就获取到了cookie值的开始位置
  　　　　　　　　c_end=document.cookie.indexOf(";",c_start)　　//其实我刚看见indexOf()第二个参数的时候猛然有点晕，后来想起来表示指定的开始索引的位置...这句是为了得到值的结束位置。因为需要考虑是否是最后一项，所以通过";"号是否存在来判断
  　　　　　　　　if (c_end==-1) c_end=document.cookie.length
  　　　　　　　　return unescape(document.cookie.substring(c_start,c_end))　　//通过substring()得到了值。想了解unescape()得先知道escape()是做什么的，都是很重要的基础，想了解的可以搜索下，在文章结尾处也会进行讲解cookie编码细节
　　　　　　} 
　　　　}
　　　　return ""
}

</script>